In addition to processing voice calls from traditional wired and wireless phones, mobile communication devices now also communicate with other types of devices such as computers of all form factors, Personal Data Assistants (PDAs) or handheld PCs, Integrated Messaging Devices (IMD), etc. Additionally, communication devices have merged the capabilities of cellular telephones, PDAs, IMDs, and computing devices and now provide increasingly sophisticated applications. These applications provide, for example, advanced telephony, various messaging services such as e-mail, short messaging, multi-media messaging, instant messaging and presence, Internet browsers, mobile wallets, image viewing, video and image recording and viewing, etc. Thus, applications provide the communication device with the ability to perform a wide variety of tasks. An application is an organized list of instructions that, when executed, cause the communication device to perform a user selected function. The term “execution” is the process of running an application or the carrying out of the operation called for by an instruction.
A user executes an application by selecting the application for launch. Launching the application generally requires retrieving the executable from a permanent memory device and copying the executable to a temporary memory device. The temporary memory device is generally some form of random access memory (RAM). The RAM or system memory holds the operating system and executing applications so that they can be reached quickly by the computer's processor. The user may select the application using a graphical user interface and navigation tools to move among various selections. However, communication devices generally are small and lightweight because the desire is for an easily portable device. As a result, the display and the navigation tools are small and generally more tedious to use. The devices generally include various keys or buttons to facilitate input to the device. To simplify selection of an application for execution, one or more shortcut key may be defined. A shortcut key is a single key press or combination of key presses that cause a device to perform an action such as execution of an application.
In mobile devices, a menu for accessing applications is generally provided. Pressing an “Application” key opens the applications menu, where the user may browse using navigation tools and may select an application for execution. Applications are presented as a grid of items by default though the user can choose to use a list presentation. When the application menu is opened, the numeric keys 1-9 can be used as shortcut keys to select an application. The keys are mapped directly to the first nine icons in the application menu. The menu contains all of the installed applications. Additionally, an application may be selected for execution after assigning a shortcut key to the application.
Mobile devices have limited on-board memory for storing applications. A Multi-Media Card (MMC) is a postage stamp-sized flash memory card that allows data to be saved onto it. MMCs are a means of exchanging data between PDAs, phones, digital cameras, and other devices and can also act similar to a hard drive on a PC for the storage of data and programs. Thus, MMCs provide a mechanism for executing applications stored on the MMC. The user inserts an MMC into the device and can access the application stored on the MMC. A user can plug different MMCs into the device to execute different applications. “Hot swap” of an MMC can be used in devices to enable removing and inserting of an MMC without powering off the device. As a result, the applications available for execution may change dynamically. Shortcut keys to the application must recognize that the applications available have changed. Previous implementations remember two applications in each memory card based on a memory card identifier and application information. However, this requires memory that may never be used again if the MMC is never used again. Additionally, such an implementation does not recognize that the same application may be used from different MMCs wasting additional memory resources. As a further limitation, neither MMC may be inserted in the device resulting in a shortcut key that does not function. What is needed, therefore, is a method of defining an application for a shortcut key that avoids a shortcut definition that does not work.